<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客编辑</title>

    <!-- 引入自己写的样式 -->
    <link rel="stylesheet" href="css/conmmon.css">
    <link rel="stylesheet" href="css/blog_edit.css">

    <!-- 引入 editor.md 的依赖 -->
    <link rel="stylesheet" href="editor.md/css/editormd.min.css" />
    <script src="js/jquery.min.js"></script>
    <script src="editor.md/editormd.js"></script>

    <!-- 引入（退出登录）功能 -->
    <script src = "js/logout.js"></script>

    <!-- 引入从URL拿到参数，并返回我们所需的key对应的value -->
    <script src="js/urlutils.js"></script>
</head>

<body>
<!-- 导航栏 -->
<div class="nav">
    <img src="img/log6.png" alt="">
    <span class="title">我的博客系统</span>
    <!-- 用来占据中间位置 -->
    <span class="spacer"></span>
    <a href="blog_list.html">主页</a>
    <a href="javascript:logout()">退出登录</a>
</div>
<!-- 编辑框容器 -->
<div class="blog-edit-container">
    <!-- 标题编辑区 -->
    <div class="title">
        <input type="text" placeholder="在这里写下文章标题" id = "title">
        <!-- 调用这个方法执行修改文章的操作，并存储到数据库中 -->
        <button onclick="doUpdate()">修改文章</button>
    </div>
    <!-- 创建编辑器标签 -->
    <div id="editorDiv">
        <textarea id="editor-markdown" style="display:none;"></textarea>
    </div>
</div>

<script>

        var aid = getParamValue("aid"); // 文章ID


        var editor;
        function initEdit(md){
            // 编辑器设置
            editor = editormd("editorDiv", {
                // 这里的尺寸必须在这里设置. 设置样式会被 editormd 自动覆盖掉.
                width: "100%",
                // 高度 100% 意思是和父元素一样高. 要在父元素的基础上去掉标题编辑区的高度
                height: "calc(100% - 50px)",
                // 编辑器中的初始内容
                markdown: md,
                // 指定 editor.md 依赖的插件路径
                path: "editor.md/lib/",
                saveHTMLToTextarea: true //
            });
        }
        initEdit("# 在这里写下一篇博客"); // 初始化编译器的值



        // 验证urlutils.js 功能
        // 从URL拿到参数，并返回我们所需的key对应的value
        function init(){
            // 1. 校验参数
            if(aid==null || aid<=0){
                alert("非法参数");
                return false;
            }
            // 2. 前后端交互，将数据传给后端
            jQuery.ajax({
                url:"/art/update_init",
                type:"GET",
                data:{
                    "aid":aid
                },
                success:function(res){
                    // 将文章的内容和标题展示到页面上
                    if(res.code==200 && res.data!=null && res.data.id>0){
                        //查询到了文章的信息
                        jQuery("#title").val(res.data.title);
                        initEdit(res.data.content);
                    }else if(res.code==-2){
                        // 未登录
                        alert("抱歉，查询失败！"+res.msg);
                        location.href = "login.html";
                    }else{
                        // 查询失败
                        alert("抱歉，查询失败！"+res.msg);
                    }
                }
            });
        }
        init();



         // 执行修改文章的操作，并把修改后的内容存储到数据库中
         function doUpdate(){
            // 1. 校验参数
            var title = jQuery("#title");
            if(title.val().trim()==""){
                alert("请先输入标题");
                title.focus();
                return false;
            }
            if(editor.getValue()==""){
                alert("请输入正文");
                return false;
            }
            // 2. 将数据提交给后端(文章ID，文章标题，文章正文)
            jQuery.ajax({
                url:"/art/update",
                type:"POST",
                data:{
                    "id":aid,
                    "title":title.val(),
                    "content":editor.getValue()
                },
                success :function(res){
                    if(res.code==200 && res.data==1){
                        //修改成功
                        alert("恭喜，修改成功！");
                        // 跳转到我们的文章管理页
                        location.href = "myblog_list.html";
                    }else if(res.code==-2){
                        // 未登录
                        alert("请先登录");
                        location.href = "login.html";
                    }else{
                        alert("抱歉，修改失败！"+ res.msg);
                    }
                }
            });
        }

    </script>
</body>

</html>